package towerDefense;

/**
 * Super class to all projectiles. Gives methods common to all projectile
 * types of objects. Projectiles will be the most basic of all objects
 * defined for the game. The reasoning is that once the projectile leaves
 * the tower it is essentially a "dumb" weapon. The possibility for "smart"
 * projectiles can be possible but no implementation has been implemented 
 * currently. <br /><br />
 * 
 * Subclasses may be deprecated in the future to allow for a XML defined 
 * version to be implemented.  The reasoning behind this possible move is 
 * to allow for slight changes to be loaded on the fly without the need 
 * to (re)build a new subclass. 
 * 
 * @author Guillermo Mendez-Kestler
 *
 */
public class T_Projectile extends T_Object implements I_Projectile {

	/**
	 * Default constructor for a projectile. 
	 * @param type Default projectile type
	 */
	public T_Projectile(int type) {
		super(type);
		// TODO Auto-generated constructor stub
	}

	/**
	 * Constructor that will give more information about the projectile. 
	 * Information that is needed includes the starting location (tower), 
	 * the size of the projectile, and type of projectile. 
	 * @param xCoord Starting X coord
	 * @param yCoord Starting Y coord
	 * @param size Size of the projectile
	 * @param type Type of projectile
	 */
	public T_Projectile(double xCoord, double yCoord, double size, int type) {
		super(xCoord, yCoord, size, type);
		// TODO Auto-generated constructor stub
	}

	/* (non-Javadoc)
	 * @see myTowerDefense.T_Projectile#getHeading()
	 */
	public double getHeading() {
		// TODO Auto-generated method stub
		return 0;
	}

	/* (non-Javadoc)
	 * @see myTowerDefense.T_Projectile#getTower()
	 */
	public T_Tower getTower() {
		// TODO Auto-generated method stub
		return null;
	}

}
